package com.todo.user.iface.backend;


import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.user.iface.backend.request.*;
import com.todo.user.iface.backend.response.QueryUserAccountByConditionResp;
import com.todo.user.iface.backend.response.UserAccountDetailResp;
import com.todo.user.iface.backend.response.UserAuthRecordResp;
import com.todo.user.iface.backend.response.UserOperateRecordResp;

import java.util.List;

/**
 * @author zhangwenxiang
 * @date 2024/3/17 19:42
 * @description
 */
public interface UserAccountBackendIface {

    /**
     * 根据用户id查询用户详情
     *
     * @param req
     * @return
     */
    BizResponse<UserAccountDetailResp> queryUserAccountDetail(QueryUserAccountDetailReq req);

    /**
     * 用户禁言
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> mutedUserAccount(MutedUserAccountReq req);

    /**
     * 多条件查询用户账户信息
     *
     * @param req
     * @return
     */
    BizPageResponse<QueryUserAccountByConditionResp> queryUserAccountByCondition(QueryUserAccountByConditionReq req);

    /**
     * 多条件查询用户操作记录
     *
     * @param req
     * @return
     */
    BizPageResponse<UserOperateRecordResp> queryUserOperateRecordByCondition(QueryUserOperateRecordByConditionReq req);

    /**
     * 多条件查询用户认证记录
     *
     * @param req
     * @return
     */
    BizResponse<List<UserAuthRecordResp>> queryUserAuthRecordList(QueryUserAuthRecordListReq req);
}
